import java.util.*;

/**
 * @author yan
 * @date 2025/8/7
 */
public class ti49 {
    class Solution {
        public List<List<String>> groupAnagrams(String[] strs) {
//            Map<String,List<String>> map = new HashMap<String,List<String>>();
//            for (String str : strs) {
//                int [] count = new int[26];
//                int length = str.length();
//                for (int i = 0; i < length; i++) {
//                    count[str.charAt(i) - 'a']++;
//                }
//                StringBuffer sb = new StringBuffer();
//                for (int i = 0; i < 26; i++) {
//                    if(count[i] != 0){
//                        sb.append((char)('a' + i));
//                        sb.append(count[i]);
//                    }
//                }
//                String key = sb.toString();
//                List<String> list = map.getOrDefault(key, new ArrayList<String>());
//                list.add(str);
//                map.put(key, list);
//            }
//            return new ArrayList<List<String>>(map.values());

            Map<String, List<String>> map = new HashMap<>();
            for(String str : strs){
                char [] arrays = str.toCharArray();
                Arrays.sort(arrays);
                String key = new String(arrays);
                List<String> list = map.getOrDefault(key, new ArrayList<>());
                list.add(str);
                map.put(key, list);
            }
            return new ArrayList<List<String>>(map.values());
        }
    }
    public static void main(String[] args) {

    }
}
